%ifdef CONFIG
{
  "HostFeatures": ["AVX"],
  "RegData": {
    "XMM1":  ["0x7A84D3FA541EF1BE", "0x5F0D7667E4D8E24A", "0x0000000000000000", "0x0000000000000000"],
    "XMM2":  ["0x44683C4CE9AC9780", "0x9DA95E9A6F25EF94", "0x0000000000000000", "0x0000000000000000"],
    "XMM3":  ["0x4BC94EA0CCB0A64C", "0x3CF36EE04F371510", "0x0000000000000000", "0x0000000000000000"],
    "XMM4":  ["0x1AC415407B8BA3DB", "0x92CDC300DAB0773C", "0x0000000000000000", "0x0000000000000000"],
    "XMM5":  ["0x6796B1563F8D578C", "0x4C64F16199291FE4", "0x0000000000000000", "0x0000000000000000"],
    "XMM6":  ["0x01A14EF664207DC6", "0x1D3220DA400E1027", "0x0000000000000000", "0x0000000000000000"],
    "XMM7":  ["0x75DDBA582C3DD348", "0xA5141C506D8C60D7", "0x0000000000000000", "0x0000000000000000"],
    "XMM8":  ["0x7873FF38FB240E0D", "0x6C154F1ADB67CD17", "0x0000000000000000", "0x0000000000000000"],
    "XMM9":  ["0x7A84D3FA541EF1BE", "0x5F0D7667E4D8E24A", "0x7A84D3FA541EF1BE", "0x5F0D7667E4D8E24A"],
    "XMM10": ["0x44683C4CE9AC9780", "0x9DA95E9A6F25EF94", "0x44683C4CE9AC9780", "0x9DA95E9A6F25EF94"],
    "XMM11": ["0x4BC94EA0CCB0A64C", "0x3CF36EE04F371510", "0x4BC94EA0CCB0A64C", "0x3CF36EE04F371510"],
    "XMM12": ["0x1AC415407B8BA3DB", "0x92CDC300DAB0773C", "0x1AC415407B8BA3DB", "0x92CDC300DAB0773C"],
    "XMM13": ["0x6796B1563F8D578C", "0x4C64F16199291FE4", "0x6796B1563F8D578C", "0x4C64F16199291FE4"],
    "XMM14": ["0x01A14EF664207DC6", "0x1D3220DA400E1027", "0x01A14EF664207DC6", "0x1D3220DA400E1027"],
    "XMM15": ["0x75DDBA582C3DD348", "0xA5141C506D8C60D7", "0x75DDBA582C3DD348", "0xA5141C506D8C60D7"]
  }
}
%endif

lea rdx, [rel .data]

vmovaps ymm1, [rdx + 32 * 0]
vmovaps ymm2, [rdx + 32 * 1]
vmovaps ymm3, [rdx + 32 * 2]
vmovaps ymm4, [rdx + 32 * 3]
vmovaps ymm5, [rdx + 32 * 4]
vmovaps ymm6, [rdx + 32 * 5]
vmovaps ymm7, [rdx + 32 * 6]
vmovaps ymm8, [rdx + 32 * 7]

vmovaps ymm9, [rdx + 32 * 0]
vmovaps ymm10, [rdx + 32 * 1]
vmovaps ymm11, [rdx + 32 * 2]
vmovaps ymm12, [rdx + 32 * 3]
vmovaps ymm13, [rdx + 32 * 4]
vmovaps ymm14, [rdx + 32 * 5]
vmovaps ymm15, [rdx + 32 * 6]

vpmulld xmm1, xmm1, [rdx + 32 * 8]
vpmulld xmm2, xmm2, [rdx + 32 * 9]
vpmulld xmm3, xmm3, [rdx + 32 * 10]
vpmulld xmm4, xmm4, [rdx + 32 * 11]
vpmulld xmm5, xmm5, [rdx + 32 * 12]
vpmulld xmm6, xmm6, [rdx + 32 * 13]
vpmulld xmm7, xmm7, [rdx + 32 * 14]
vpmulld xmm8, xmm8, [rdx + 32 * 15]

vpmulld ymm9, ymm9, [rdx + 32 * 8]
vpmulld ymm10, ymm10, [rdx + 32 * 9]
vpmulld ymm11, ymm11, [rdx + 32 * 10]
vpmulld ymm12, ymm12, [rdx + 32 * 11]
vpmulld ymm13, ymm13, [rdx + 32 * 12]
vpmulld ymm14, ymm14, [rdx + 32 * 13]
vpmulld ymm15, ymm15, [rdx + 32 * 14]

hlt

align 32
.data:
dd 655.9708, 532.2244, 108.0451, 512.4019
dd 655.9708, 532.2244, 108.0451, 512.4019

dd 754.227 , 586.0859, 127.7574, 114.8167
dd 754.227 , 586.0859, 127.7574, 114.8167

dd 764.4266, 226.6145, 337.864 , 320.3296
dd 764.4266, 226.6145, 337.864 , 320.3296

dd 296.5247, 480.0057, 28.4267 , 565.9418
dd 296.5247, 480.0057, 28.4267 , 565.9418

dd 265.8255, 536.4473, 754.3489, 460.681
dd 265.8255, 536.4473, 754.3489, 460.681

dd 818.7269, 43.7204 , 464.592 , 847.9381
dd 818.7269, 43.7204 , 464.592 , 847.9381

dd 306.0592, 702.7584, 887.6473, 551.5908
dd 306.0592, 702.7584, 887.6473, 551.5908

dd 620.9001, 520.9829, 232.9532, 510.3388
dd 620.9001, 520.9829, 232.9532, 510.3388

dd 204.8474, 225.626 , 564.973 , 790.5175
dd 204.8474, 225.626 , 564.973 , 790.5175

dd 836.1953, 844.5266, 633.5626, 501.7409
dd 836.1953, 844.5266, 633.5626, 501.7409

dd 393.2616, 674.4415, 244.3265, 971.1598
dd 393.2616, 674.4415, 244.3265, 971.1598

dd 770.8029, 746.1836, 255.9902, 567.7578
dd 770.8029, 746.1836, 255.9902, 567.7578

dd 187.7175, 924.181 , 466.4362, 169.8267
dd 187.7175, 924.181 , 466.4362, 169.8267

dd 651.7481, 462.4206, 396.6924, 355.8538
dd 651.7481, 462.4206, 396.6924, 355.8538

dd 6.148   , 523.1443, 989.7004, 713.6646
dd 6.148   , 523.1443, 989.7004, 713.6646

dd 497.5427, 657.6965, 651.0534, 778.5236
dd 497.5427, 657.6965, 651.0534, 778.5236
